<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Dynpro</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Dynpro"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Dynpro rootpage-Dynpro skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Dynpro</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><b>Dynpro</b> ist die Abkürzung für ein <b>dyn</b>amisches <b>Pro</b>gramm in <a href="SAP_ERP" title="SAP ERP">SAP ERP</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Übersicht"><span id=".C3.9Cbersicht"></span>Übersicht</h2></div>
<p>Dynpros sind eine der Haupt-Technologien in der Interaktion zwischen Benutzer und SAP-ERP-System. Sie ist am leichtesten vor dem Hintergrund der evolutionären Entwicklung der SAP-ERP-Benutzungsoberfläche<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> zu verstehen. Dynpros bestehen aus zwei Teilkomponenten: der Maskendefinition und der Ablauflogik. Dynpros werden im R/3-System zur Laufzeit von einer speziellen Softwarekomponente, dem Dynpro-Prozessor, interpretiert.
</p><p>Im englischen Sprachgebrauch werden Dynpros häufig als <i>screens</i> bezeichnet.
</p>
<div class="mw-heading mw-heading2"><h2 id="Technik">Technik</h2></div>
<p>Die Maskendefinition beschreibt die Positionierung und Formatierung der <a href="Interaktionselement" title="Interaktionselement">Eingabeelemente</a> (<a href="Textbox" class="mw-redirect" title="Textbox">Textfelder</a>, <a href="Checkbox" title="Checkbox">Checkboxen</a>, <a href="Radiobutton" title="Radiobutton">Radiobuttons</a> und <a href="Schaltfl%C3%A4che" title="Schaltfläche">Drucktasten</a>) und Designelemente (Texte und Rahmen). Weiterhin kann ein Dynpro sogenannte Containerelemente enthalten. Mit Hilfe einer <i>Subscreen Area</i> ist es möglich, ein Dynpro in ein anderes Dynpro einzubetten. Ein anderes Containerelement erlaubt die Ansteuerung aktiver Komponenten auf dem Frontend-Rechner (<a href="ActiveX" title="ActiveX">ActiveX</a>-Controls bzw. <a href="Java_Beans" class="mw-redirect" title="Java Beans">Java Beans</a>). Weitere Containerelemente sind der <i>Tabstrip</i>, eine Art Karteikasten mit mehreren Registern, und das <i>Tablecontrol</i>, mit dem Tabellen dargestellt werden können.
</p><p>Neben dem reinen Dialoglayout enthält das Dynpro eine Ablauflogik. Die Ablauflogik steuert den Zeitpunkt, zu dem die Eingabe in die Felder in das entsprechende <a href="ABAP" title="ABAP">ABAP</a>-Feld übertragen wird und wann die Ablauflogik eines Subscreens abgearbeitet wird. Über <i>Module</i> wird aus der Ablauflogik in das ABAP-Programm abgesprungen, wo die Daten verarbeitet werden. Der Dynproprozessor arbeitet einzelne Abschnitte der Ablauflogik zu bestimmten Zeitpunkten ab. Die Ablauflogik ist also eher zeitpunktgesteuert als rein sequentiell strukturiert, auch wenn Module, die dem gleichen Zeitpunkt zugeordnet sind, natürlich in der aufgeführten Reihenfolge ausgeführt werden. Es handelt sich nicht um eine <a href="Ereignis_(Programmierung)" title="Ereignis (Programmierung)">ereignisbasierte</a> Steuerung, wie sie in modernen Programmierumgebungen zu finden ist, sondern um ein recht starres Konstrukt, das seine Wurzeln in den Zeiten der textbasierten Großrechneranwendungen hat. Der Dynpro-Prozessor bereitet das Dynpro auf und übergibt es zur Anzeige an den Client. Anschließend ruht die Verarbeitung auf dem Applikationsserver, bis der Benutzer eine Funktion auslöst. Durch diese Aktion wird der Inhalt des Dynpros zurück an den <a href="Applikationsserver" class="mw-redirect" title="Applikationsserver">Applikationsserver</a> übermittelt und vom Dynpro-Prozessor weiterverarbeitet.
</p><p>Die wichtigsten Zeitpunkte der Dialogverarbeitung sind <b>PBO</b> (<i>process before output</i>) und <b>PAI</b> (<i>process after input</i>); weiterhin existieren spezielle Zeitpunkte zur Bereitstellung von Hilfetexten und Wertehilfen sowie zur Reaktion auf bestimmte Abbruchkommandos. Der Zeitpunkt PBO wird vor der Ausgabe des Dynpros ausgelöst und wird in der Regel zur Versorgung der Dynpro-Felder verwendet. Im PAI, also unmittelbar nach der Verarbeitung der Eingabe, werden die eingegebenen Daten geprüft und verarbeitet; auch die Reaktion auf die vom Benutzer ausgelösten Kommandos findet hier statt.
</p><p>Die Felder auf einem Dynpro sind über Namensgleichheit mit den zugehörigen Feldern im zugehörigen <a href="ABAP" title="ABAP">ABAP</a>-Programm verknüpft. Die Kommunikation mit dem ABAP-Programm findet über spezielle ABAP-Prozeduren, sogenannte Module statt. Problematisch ist dabei, dass die Verknüpfung nur mit globalen Variablen des ABAP Programms möglich ist.
</p><p>Außerdem ist der <a href="ABAP" title="ABAP">ABAP</a>-Befehl 'MESSAGE' eng mit der Dynproverarbeitung verknüpft.
</p>
<div class="mw-heading mw-heading2"><h2 id="Nachfolgetechnologien">Nachfolgetechnologien</h2></div>
<p>SAP hat in den letzten Jahren begonnen, die auf dem <a href="SAP_GUI" title="SAP GUI">SAP GUI</a> basierende Technologie des Dynpros durch webgestützte Technologien zu ergänzen:
</p>
<ul><li><a href="Business_Server_Pages" title="Business Server Pages">Business Server Pages</a> (BSP), die einen <a href="Model_View_Controller" title="Model View Controller">MVC</a> Ansatz für die webbasierte Anzeige von Informationen bieten.</li>
<li><a href="Web_Dynpro" title="Web Dynpro">Web Dynpro</a>, im Zuge der <a href="NetWeaver" class="mw-redirect" title="NetWeaver">NetWeaver</a>-Strategie eingeführte entweder auf <a href="ABAP" title="ABAP">ABAP</a> oder auf <a href="Java_(Technologie)" class="mw-redirect" title="Java (Technologie)">Java</a> basierende Technologie. Die Verbindung zu SAP-Systemen wird durch <a href="Remote_Function_Call" title="Remote Function Call">RFC</a>-Modelle hergestellt.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite"><a rel="nofollow" class="external text" href="http://www.sapdesignguild.org/goodies/r3_history.asp"><i>R/3 History in Screen Shots.</i></a> In: <i>SAP Design Guild.</i><span class="Abrufdatum"> Abgerufen am 23. Februar 2006</span>.</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3ADynpro&rft.title=R%2F3+History+in+Screen+Shots&rft.description=R%2F3+History+in+Screen+Shots&rft.identifier=http%3A%2F%2Fwww.sapdesignguild.org%2Fgoodies%2Fr3_history.asp"> </span></span>
</li>
</ol>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.sapdesignguild.org">SAP Design Guild</a></li>
<li><a rel="nofollow" class="external text" href="http://help.sap.com/saphelp_47x200/helpdata/de/e4/2adbef449911d1949c0000e8353423/frameset.htm">Dynpros in der ABAP-Online-Hilfe</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2021-12-03" href="https://de.wikipedia.org/wiki/?title=Dynpro&oldid=217844622">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>